package xaj.scc.ast;

import java.util.List;

import polyglot.ast.Node;

public interface Production extends Node,Visitable {
	public String getLeftSide();
	/**
	 * Seguindo o padrão do polyglot, onde toda vez que o nó é alterado um novo é retornado
	 *  com os valores atualizados
	 * @param nonTerminal
	 * @return
	 */
	public Production setLeftSide(String nonTerminal);
	public List<ProductionElement> getRightSide();
	/**
	 * Seguindo o padrão do polyglot, onde toda vez que o nó é alterado um novo é retornado
	 *  com os valores atualizados
	 * @param list
	 * @return
	 */
	public Production setRightSide(List<ProductionElement> list);
}
